In typical systems for optical navigation, frames of image data are sequentially captured and compared to track displacements of features in the frames relative to the optical navigation system. These relative displacements of the features in the frames can be used to estimate the motion of the features relative to the optical navigation system or the motion of the optical navigation system relative to the features. In some applications, these features may be beacons (e.g., infrared sources) that are captured and used as reference points for optical navigation. This type of optical navigation technique will be referred to herein as a beacon-based navigation technique. Beacon-based navigation techniques are currently used in computer gaming systems to track motion of remote control devices for the gaming systems.
In a beacon-based navigation technique, the imaged beacons or beacon clusters in the captured frames of image data are identified in order to estimate any displacement of the beacon clusters between the captured frames. The beacon sources are usually stationary, and thus, serve as reference points to determine motion of the optical navigation system. In a conventional process for identifying beacon clusters in a captured frame of image data, the entire image frame is transferred to a random access memory (RAM) to search for the beacon clusters within the captured frame. That is, all pixel values of the frame of image data are transferred to the RAM for processing so that each pixel value can be examined to determine whether that pixel value belongs to a beacon cluster.
A concern with the above process for identifying beacon clusters in a captured frame of image data is that the required size of the RAM is relatively large, which adds significant cost to the optical navigation system. Furthermore, since the required size of the RAM must be at least the size of each captured frame of image data, a larger RAM is needed if the resolution of the captured frames is increased.
Thus, there is a need for a system and method for identifying features, such as beacon clusters, in captured frames of image data for optical navigation that reduces the required size of memory to process the pixels of the captured image frames.